#!/bin/sh

set -e

if which goctest >/dev/null; then
    goctest="goctest"
else
    goctest="go test"
fi

echo Checking formatting
fmt="$(gofmt -l .)"

if [ -n "$fmt" ]; then
    echo "Formatting wrong in following files"
    echo "$fmt"
    exit 1
fi

echo Installing godeps
go get launchpad.net/godeps
export PATH=$PATH:$GOPATH/bin

echo Install golint
go get github.com/golang/lint/golint
export PATH=$PATH:$GOPATH/bin

echo Building
go build -v .


# tests
echo Running tests from $(pwd)
$goctest -v -cover ./...


# go vet
echo Running vet
go vet ./...

# golint
echo Running lint
lint="$(golint ./...)"
if [ -n "$lint" ]; then
    echo "Lint complains:"
    echo "$lint"
    exit 1
fi
